End.

Redis INFO命令说明(可以查看redis当前连接数等)


1、查看redis连接数

redis运维,需要查看redis当前连接数,可以使用redis的内置命令进行查看。

info clients
127.0.0.1:6379> info clients
# Clients
connected_clients:6
cluster_connections:0
maxclients:10000
client_recent_max_input_buffer:40
client_recent_max_output_buffer:0
blocked_clients:0
tracking_clients:0
clients_in_timeout_table:0

字段说明:

connected_clients:6 // 已连接客户端的数量(不包括通过从服务器连接的客户端)

cluster_connection:0 // 集群模式,集群连接数

maxclients:10000 // 最大连接数

client_recent_max_input_buffer:40 // 当前连接的客户端当中,最大输入缓存

client_recent_max_output_buffer:0 // 当前连接的客户端当中,最长的输出列表

blocked_clients:0 // 正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量


PS:也可以通过以下命令,查看redis最大连接数

# CONFIG GET maxclients
127.0.0.1:6379> CONFIG GET maxclients 1) "maxclients" 2) "10000"



2、redis info命令各个说明

命令:INFO [section]


2.1 section

server: 常规信息 

clients: 客户端连接部分 

memory: 内存消耗相关信息 

persistence: RDB和AOF相关信息 

stats: 统计信息 r

eplication: 主/从复制信息 

cpu: CPU消耗统计 

commandstats: Redis命令统计 

cluster: 集群部分 

keyspace: 数据库、key相关统计

all:所有section = info


2.2 info server "常规信息"返回结果字段说明

127.0.0.1:6379> info server
# Server
redis_version:6.2.6
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:4ab9a06393930489
redis_mode:standalone
os:Linux 3.10.0-1062.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:c11-builtin
gcc_version:8.3.1
process_id:986
process_supervised:systemd
run_id:cbe4f07d0dd253e0cb7332e957719fb71b97d325
tcp_port:6379
server_time_usec:1648904549160126
uptime_in_seconds:3078326
uptime_in_days:35
hz:10
configured_hz:10
lru_clock:4737381
executable:/usr/bin/redis-server
config_file:/etc/redis/redis.conf
io_threads_active:0

redis_version // Redis服务器的版本

redis_git_sha1 // Git SHA1

redis_git_dirty // Git dirty flag

redis_build_id // 构建ID

redis_mode // Redis启动模式:standalone、Sentinel、Cluster :单机、哨兵、集群

os // redis宿主机操作系统

arch_bits // 架构:32位、64位

multiplexing_api:epoll // 事件循环机制

atomicvar_api // Atomicvar API

gcc_version // 编译 Redis 时所使用的 GCC 版本

process_id // 进程PID

run_id // 标识Redis服务器的唯一随机值,由Sentinel和Cluster使用

tcp_port // TCP、IP侦听端口

uptime_in_seconds //自Redis服务器启动以来的秒数

uptime_in_days // 自Redis服务器启动以来的天数

hz // 调度serverCron每秒运行次数

configured_hz //

lru_clock // 以分钟为单位进行自增的时钟,用于 LRU 管理

executable // 服务器可执行文件的路径

config_file // 启动 redis 配置文件



2.3 info memory “内存消耗相关信息”返回结果字段说明

127.0.0.1:6379> info memory
# Memory
used_memory:1112488
used_memory_human:1.06M
used_memory_rss:10141696
used_memory_rss_human:9.67M
used_memory_peak:2783192
used_memory_peak_human:2.65M
used_memory_peak_perc:39.97%
used_memory_overhead:936856
used_memory_startup:811960
used_memory_dataset:175632
used_memory_dataset_perc:58.44%
allocator_allocated:1268344
allocator_active:1699840
allocator_resident:4071424
total_system_memory:1907814400
total_system_memory_human:1.78G
used_memory_lua:37888
used_memory_lua_human:37.00K
used_memory_scripts:0
used_memory_scripts_human:0B
number_of_cached_scripts:0
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
allocator_frag_ratio:1.34
allocator_frag_bytes:431496
allocator_rss_ratio:2.40
allocator_rss_bytes:2371584
rss_overhead_ratio:2.49
rss_overhead_bytes:6070272
mem_fragmentation_ratio:8.21
mem_fragmentation_bytes:8906416
mem_not_counted_for_evict:0
mem_replication_backlog:0
mem_clients_slaves:0
mem_clients_normal:123024
mem_aof_buffer:0
mem_allocator:jemalloc-5.1.0
active_defrag_running:0
lazyfree_pending_objects:0
lazyfreed_objects:0

used_memory:2660408 // 由 redis 分配器(标准libc,jemalloc或其他分配器,例如tcmalloc)分配的内存总量,以字节(byte)为单位

used_memory_human:2.54M // 以可读的格式返回 redis 分配的内存总量

used_memory_rss:9154560 // 从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 top、ps 等命令的输出一致。

used_memory_rss_human:8.73M // 以可读的格式,操作系统角度,返回 redis 分配的内存总量

used_memory_peak:204081928 // redis 的内存消耗峰值(以字节为单位)

used_memory_peak_human:194.63M // 以可读的格式,返回 Redis 的内存消耗峰值

used_memory_peak_perc:1.30% // used_memory_peak在used_memory中所占的百分比,即(used_memory / used_memory_peak) *100%

used_memory_overhead:2565048 // 分配用于管理其内部数据结构的所有开销的总字节数,即维护数据集的内部机制所需的内存开销,包括所有客户端输出缓冲区、查询缓冲区、AOF重写缓冲区和主从复制的backlog

used_memory_startup:1449744 // 启动时消耗的初始内存量(以字节为单位)

used_memory_dataset:95360 // 数据集的大小(以字节为单位,used_memory - used_memory_overhead)

used_memory_dataset_perc:7.88% // used_memory_dataset在净内存(used_memory-used_memory_startup)使用量中所占的百分比

allocator_allocated:2770640 // 分配器分配的内存

allocator_active:3371008 // 分配器活跃的内存

allocator_resident:11554816 // 分配器常驻的内存

total_system_memory:1021468672 // 主机拥有的内存总量

total_system_memory_human:974.15M // 以可读的格式返回主机拥有的内存总量

used_memory_lua:37888 // Lua引擎使用的字节数

used_memory_lua_human:37.00K // 以可读的格式返回Lua引擎使用内存

used_memory_scripts:0

used_memory_scripts_human:0B

number_of_cached_scripts:0

maxmemory:0 // 配置设置的最大可使用内存值,默认0,不限制

maxmemory_human:0B // 以可读的格式返回最大可使用内存值

maxmemory_policy:noeviction // 内存容量超过maxmemory后的处理策略,noeviction当内存使用达到阈值的时候,所有引起申请内存的命令会报错

allocator_frag_ratio:1.22 // 分配器的碎片率

allocator_frag_bytes:600368 // 分配器的碎片大小(以字节为单位)

allocator_rss_ratio:3.43 // 分配器常驻内存比例

allocator_rss_bytes:8183808 // 分配器的常驻内存大小(以字节为单位)

rss_overhead_ratio:0.79 // 常驻内存开销比例

rss_overhead_bytes:-2400256 // 常驻内存开销大小(以字节为单位)

mem_fragmentation_ratio:3.50 // 内存碎片率,used_memory_rss 和 used_memory 之间的比率

mem_fragmentation_bytes:6536432 // 内存碎片的大小(以字节为单位)

mem_not_counted_for_evict:0 // 被驱逐的大小

mem_replication_backlog:1048576 //repl_backlog

mem_clients_slaves:16922 //clients_slaves

mem_clients_normal:49694 //clients_normal

mem_aof_buffer:0 // aof时,占用的缓冲

mem_allocator:jemalloc-5.1.0 // 内存分配器(在编译时选择)

active_defrag_running:0 // 碎片整理是否处于活动状态

lazyfree_pending_objects:0 // 等待释放的对象数(由于使用ASYNC选项调用UNLINK或FLUSHDB和FLUSHALL)



2.4 info persistence “RDB和AOF相关信息”返回结果字段说明

127.0.0.1:6379> info persistence
# Persistence
loading:0
current_cow_size:0
current_cow_size_age:0
current_fork_perc:0.00
current_save_keys_processed:0
current_save_keys_total:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1648902425
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
rdb_last_cow_size:548864
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
aof_last_cow_size:0
module_fork_in_progress:0
module_fork_last_cow_size:0

loading:0 //记录服务器是否正在载入持久化文件

rdb_changes_since_last_save:0 //最近一次成功创建持久化文件之后,产生操作的次数

rdb_bgsave_in_progress:0 //记录了服务器是否正在创建 RDB 文件

rdb_last_save_time:1570890961 //最近一次成功创建 RDB 文件的 UNIX 时间戳

rdb_last_bgsave_status:ok //记录最近一次创建 RDB 文件的状态,是成功还是失败

rdb_last_bgsave_time_sec:0 //记录了最近一次创建 RDB 文件耗费的秒数

rdb_current_bgsave_time_sec:-1 //如果正在创建 RDB 文件,记录当前的创建操作已经耗费的秒数

rdb_last_cow_size:249856 //上一次RBD保存操作期间写时复制的大小(以字节为单位)

aof_enabled:1 //AOF是否开启

aof_rewrite_in_progress:0 //记录了是否正在创建 AOF 文件

aof_rewrite_scheduled:0 //记录了 RDB 文件创建完毕之后,是否需要执行 AOF 重写操作

aof_last_rewrite_time_sec:0 //最近一次创建 AOF 文件耗费的秒数

aof_current_rewrite_time_sec:-1 //如果正在创建 AOF 文件,那么记录当前的创建操作耗费的秒数

aof_last_bgrewrite_status:ok //记录了最近一次创建 AOF 文件的状态,是成功还是失败

aof_last_write_status:ok //AOF的最后写入操作的状态,是成功还是失败

aof_last_cow_size:307200 //上一次AOF保存操作期间写时复制的大小(以字节为单位)

aof_current_size:115 //AOF 文件当前的大小

aof_base_size:115 //最近一次启动或重写时的AOF文件大小

aof_pending_rewrite:0 //记录了是否有 AOF 重写操作在等待 RDB 文件创建完毕之后执行

aof_buffer_length:0 //AOF缓冲区的大小

aof_rewrite_buffer_length:0 //AOF 重写缓冲区的大小

aof_pending_bio_fsync:0 //后台 I/O 队列里面,等待执行的 fsync 数量

aof_delayed_fsync:0 //被延迟的 fsync 调用数量,如果该值比较大,可以开启参数:no-appendfsync-on-rewrite=yes


如果正在进行加载操作,会有以下状态:

loading_start_time: //加载操作开始的时间戳

loading_total_bytes: //加载文件总大小

loading_loaded_bytes: //已加载的字节数

loading_loaded_perc: //已加载的百分比

loading_eta_seconds: //完成加载所需的秒数(以秒为单位)



2.5 info stats “统计信息”返回结果字段说明

127.0.0.1:6379> info stats
# Stats
total_connections_received:10661
total_commands_processed:76425338
instantaneous_ops_per_sec:94
total_net_input_bytes:2166218023
total_net_output_bytes:392930341
instantaneous_input_kbps:2.62
instantaneous_output_kbps:0.46
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:43
expired_stale_perc:0.00
expired_time_cap_reached_count:0
expire_cycle_cpu_milliseconds:14298
evicted_keys:0
keyspace_hits:8770
keyspace_misses:819964
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:1174
total_forks:131
migrate_cached_sockets:0
slave_expires_tracked_keys:0
active_defrag_hits:0
active_defrag_misses:0
active_defrag_key_hits:0
active_defrag_key_misses:0
tracking_total_keys:0
tracking_total_items:0
tracking_total_prefixes:0
unexpected_error_replies:0
total_error_replies:21
dump_payload_sanitizations:0
total_reads_processed:76436137
total_writes_processed:76425352
io_threaded_reads_processed:0
io_threaded_writes_processed:0

total_connections_received:11046 //服务器接受的连接总数

total_commands_processed:2086515 //服务器已执行的命令数量

instantaneous_ops_per_sec:0 //服务器每秒钟执行的命令数量

total_net_input_bytes:116217212 //启动以来,流入的字节总数

total_net_output_bytes:161658834 //启动以来,流出的字节总数

instantaneous_input_kbps:0.02 //接收输入的速率(每秒)

instantaneous_output_kbps:0.00 //输出的速率(每秒)

rejected_connections:0 //由于maxclients限制而被拒绝的连接数

sync_full:1 //与slave full sync的次数

sync_partial_ok:14 //接受的部分重新同步(psync)请求的数量

sync_partial_err:1 //被拒绝的部分重新同步(psync)请求的数量

expired_keys:0 //key过期事件总数

expired_stale_perc:0.00 //过期的比率

expired_time_cap_reached_count:0 //过期计数

evicted_keys:0 //由于最大内存限制而被驱逐的key数量

keyspace_hits:1057312 //key命中次数

keyspace_misses:38734 //key未命中次数

pubsub_channels:0 //发布/订阅频道的数量

pubsub_patterns:0 //发布/订阅的模式数量

latest_fork_usec:1460 //最近一次 fork() 操作耗费的毫秒数(以微秒为单位)

migrate_cached_sockets:0 //为迁移而打开的套接字数

slave_expires_tracked_keys:0 //跟踪过期key数量(仅适用于可写从)

active_defrag_hits:0 //活跃碎片执行的值重新分配的数量

active_defrag_misses:0 //活跃碎片执行的中止值重新分配的数量

active_defrag_key_hits:0 //活跃碎片整理的key数

active_defrag_key_misses:0 //活跃碎片整理过程跳过的key数



2.6 info replication “主/从复制信息”返回结果字段说明

127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:0
master_failover_state:no-failover
master_replid:e732a5bad55ee002d77fc97bb1e750acfd364487
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

role:master //角色(master、slave),一个从服务器也可能是另一个服务器的主服务器

connected_slaves:1 //连接slave实例的个数

slave0:ip=192.168.163.132,port=6382,state=online,offset=64547142,lag=1 //连接的slave的信息

master_replid:1726c598c37f039c4b69db7a4281392a650eb88b //服务器的复制ID

master_replid2:0000000000000000000000000000000000000000 //第二服务器复制ID,用于故障转移后的PSYNC,用于集群等高可用之后主从节点的互换

master_repl_offset:64547142 //复制偏移量1

second_repl_offset:-1 //第二服务器复制偏移量2

repl_backlog_active:1 //复制缓冲区状态

repl_backlog_size:1048576 //复制缓冲区的大小(以字节为单位)

repl_backlog_first_byte_offset:63498567 //复制缓冲区的偏移量,标识当前缓冲区可用范围

repl_backlog_histlen:1048576 //复制缓冲区中数据的大小(以字节为单位)


#如果是从节点,会有以下状态:

master_host:192.168.163.132 //Master IP

master_port:6379 //Master Port

master_link_status:up //Master的连接状态(up/down)

master_last_io_seconds_ago:8 //最近一次主从交互之后的秒数

master_sync_in_progress:0 //表示从服务器是否一直在与主服务器进行同步

slave_repl_offset:64547142 //复制偏移量

slave_priority:100 //从服务器的优先级

slave_read_only:1 //从服务是否只读


#如果正在进行SYNC操作,会有以下状态:

master_sync_left_bytes: //同步完成前剩余的字节数

master_sync_last_io_seconds_ago: //自SYNC操作以来最后一次传输I/O经过的秒数


#如果主服务器和副本服务器之间的链接断开,会有以下状态:

master_link_down_since_seconds: //主从连接断开后经过的秒数

connected_slaves: //已连从的数量


#如果服务器配置(的Redis 5)有min-slaves-to-write(或以min-replicas-to-write)指令,会有以下状态:

min_slaves_good_slaves: //当前认为良好的副本数,对于每个副本,添加以下行:

slaveXXX: id, IP address, port, state, offset, lag



2.7 info cpu “CPU消耗统计”返回结果字段说明

127.0.0.1:6379> info cpu
# CPU
used_cpu_sys:8216.503042
used_cpu_user:62.878044
used_cpu_sys_children:0.569445
used_cpu_user_children:0.093274
used_cpu_sys_main_thread:8206.524237
used_cpu_user_main_thread:62.773598

used_cpu_sys:133.908000 //消耗的系统CPU

used_cpu_user:70.692000 //消耗的用户CPU

used_cpu_sys_children:0.016000 //后台进程占用的系统CPU

used_cpu_user_children:0.044000 //后台进程占用的用户CPU



2.8 info commandstats “Redis命令统计” 返回结果字段说明

提供基于命令类型的统计信息,包括调用次数,这些命令消耗的总CPU时间以及每个命令执行消耗的平均CPU时间。

cmdstat_cluster:calls=33169,usec=3835426,usec_per_call=115.63

cmdstat_keys:calls=3,usec=7828,usec_per_call=2609.33

cmdstat_get:calls=1096046,usec=914358,usec_per_call=0.83

cmdstat_set:calls=872138,usec=984030,usec_per_call=1.13

cmdstat_monitor:calls=6,usec=4,usec_per_call=0.67

cmdstat_replconf:calls=74181,usec=103173,usec_per_call=1.3

cmdstat_client:calls=11,usec=2812,usec_per_call=255.64

cmdstat_flushdb:calls=2,usec=23058,usec_per_call=11529.00

cmdstat_dbsize:calls=22,usec=27,usec_per_call=1.23

cmdstat_auth:calls=10883,usec=19716,usec_per_call=1.81

cmdstat_info:calls=14,usec=6987,usec_per_call=499.07

cmdstat_config:calls=9,usec=5819,usec_per_call=646.56

cmdstat_psync:calls=15,usec=4288,usec_per_call=285.87

cmdstat_command:calls=16,usec=98434,usec_per_call=6152.12



2.9 info cluster “集群部分” 返回结果字段说明

127.0.0.1:6379> info cluster
# Cluster
cluster_enabled:0

cluster_enabled:0 // 是否开启集群模式



2.10 info keyspace “数据库、key相关统计” 返回结果字段说明

键空间部分提供有关每个数据库的统计信息。 

统计信息是键的数量,以及带有到期时间的键的数量。

127.0.0.1:6379> info keyspace
# Keyspace
db0:keys=4,expires=0,avg_ttl=0
db1:keys=24,expires=6,avg_ttl=101442300

db0:keys=2,expires=0,avg_ttl=0

键数量,配置了有效期的键数量,平均有效期时间。

End.